/* 
    @cookieName  设置cookie的名称
    @cookieValue 设置cookie的值
    @cookieExpires 设置cookie的过期时间  单位是秒数
*/
function setCookie(cookieName,cookieValue,cookieExpires){
    // 获取当前的日期对象，从而获取当前的时间戳
    var timestamp = new Date().getTime()
    if(cookieExpires === undefined){
        // 如果过期时间没有传 不设置expires 默认是session
        document.cookie = `${cookieName}=${cookieValue}`
    }else{
        // 传递了过期时间 计算之后给他设置过期时间
        // cookieExpires是秒数
        timestamp = timestamp - 8*60*60*1000 + cookieExpires * 1000
         // 将这个时间戳转换成日期对象
        var serverDate = new Date(timestamp)
        document.cookie = `${cookieName}=${cookieValue};expires=${serverDate}`
    }   
   
}
/* 
    @cookieName cookie名称
    @return 返回的是对应cookie名称的值
*/
function getCookie(cookieName){
    // name01
    // name=rose; age=18; name01=rose01; name03=rose03
    let cookieStr = document.cookie
    // 将每一个cookie拆分成一个数组 按照分号空格拆分
    let cookieArr = cookieStr.split('; ')
    /* 
        ['name=rose', 'age=18', 'name01=rose01', 'name03=rose03']
    */
   var obj = {}
   // 将数组里面每一项取出， 把每一项按照等于号拆分，拆分成以下格式
   cookieArr.forEach(item=>{
       let itemArr = item.split('=')
       obj[itemArr[0]] = itemArr[1]
   })
   return obj[cookieName]
   /* 
        ['name', 'rose']
        ['age', '18']
        ['name01', 'rose01']
        ['name03', 'rose03']
   */
  // 把每一项的拆分后数组第一项（等于号左边）当成对象的key
  // 把每一项的拆分后数组第二项（等于号右边）当成对象的value
  // {name:'rose', age:'18', name01: 'rose01', name03: 'rose03'}
}


// 
/* 
    @cookieName 是要删除cookie名称
*/
function delCookie(cookieName){
    setCookie(cookieName, '', -1)
}